// 用户上滑页面 滚动条触底 开始加载下一页
// 找到滚动条触底事件  微信小程序官方开发文档寻找
// 判断还有没有下一页数据
//    获取到总页数
// 获取搭配当前的页码
// 判断一下 当前的页码是否大于等于 总页数
// 假如没有下一页数据 弹出一个提示
// 假如还有下一页 来加载下一页数据



import { request} from "../../request/index"
import regeneratorRuntime from "../../lib/runtime/runtime.js";
// pages/goods_list/index.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
      active:0,
   tabs:[
       {
           id:0,
           value:"综合",
           isActive:true
       },
       {
        id:1,
        value:"销量",
        isActive:false
    },
    {
        id:2,
        value:"价格",
        isActive:false
    },
      ],
      goodsList:[]
    },

    // 接口要的参数
    QueryParams:{
        query:"",
        cid:"",
        pagenum:"1",
        pagesize:"10"
    },
    //   总页数
   totalPages:1,
    // 标题点击事件 从子组件传递过来的
    tabsItemChange(e){
    // 1获取被点击的标题索引
    const {index}=e.detail;
    // 2修改原数组
    let {tabs}=this.data;
    tabs.forEach((v,i)=>i===index?v.isActive=true:v.isActive=false)
    // 3赋值data中
    this.setData({
        tabs
    })
    },

    /**
     * 生命周期函数--监听页面加载
     */
  onLoad: function (options) {
    console.log(options)
     this.QueryParams.cid=options.cid||"";
     this.QueryParams.query=options.query||"";
     this.getGoodsList();
    },


  // 获取商品列表数据
    async getGoodsList(){
    const res=await request({url:"/goods/search",data:this.QueryParams})
    // 获取总页数
    const total=res.total
    // 计算总页数
    this.totalPages=Math.ceil(total/this.QueryParams.pagesize)
    // console.log(this.totalPages)
    this.setData({
        // 拼接了数组
         goodsList:[...this.data.goodsList,...res.goods]
        })
    // 关闭下拉刷新的窗口 如果没有调用下拉刷新的窗口 直接关闭也不会报错
    wx.stopPullDownRefresh()

    },

 // 页面上拉触底事件的处理函数
  onReachBottom(){
 // 1判断还有没有下一页数据
   if(this.QueryParams.pagenum>=this.totalPages){
    // 没有下一页数据
     wx.showToast({
       title: '没有下一页数据了',
     })
   }else{
    //  还有下一页数据
    this.QueryParams.pagenum++;
    this.getGoodsList();
   }
 },
  //下拉刷新事件
  onPullDownRefresh(){
    // 1 重置数组
    this.setData({
        goodsList:[]
    })
    // 2重置页码
   this.QueryParams.pagenum=1;
    // 3发送请求
    this.getGoodsList();
  }

})